#include <iostream>
#include <queue>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <unordered_set>
using namespace std;
typedef long long ll;
typedef unsigned long long Ull;
typedef pair<int,int> PII;
const int INF=0x3f3f3f3f;
int idx=0;
const int N=3e5+10;
int son[N][2];
int Count[N];
ll ans=0;
void add(int num)
{
	char n[30];
	for(int i=20;i>=0;i--)
	{
		if((num>>i)&1==1)
		{
			n[20-i]='b';
		}
		else
		{
			n[20-i]='a';
		}
	}
	int p=0,u=0;
	for(int i=0;n[i];i++)
	{
		u=n[i]-'a';
		if(son[p][u]==0) 
		{
			son[p][u]=++idx;
			
		}
		p=son[p][u];
	}
	if(Count[p]>=1)
	{
		ans+=Count[p]*2;
	}
	Count[p]++;
}
int main()
{
	int n;
	cin>>n;
	int num=0;
	for(int i=0;i<n;i++)
	{
		cin>>num;
		add(num);
	}
	cout<<ans+n;

	return 0;
}

